#ifndef MP3_PARSE_ID3V2_H
#define MP3_PARSE_ID3V2_H
#include <stdio.h>
#include <stdbool.h>

/**
 * @brief ID3v2标签中重要的音频信息结构
 * 存储从MP3文件ID3v2标签中提取的主要元数据
 */
typedef struct id3v2_important_info {
    char title[256];    // 标题
    char album[256];    // 专辑
    char track[256];    // 曲目
    char artist[256];   // 艺术家
    char year[256];     // 年份
    char comm[256];     // 注释
} id3v2_important_info_t;

/**
 * @brief 解析MP3文件中的ID3v2标签
 * @param file 已打开的MP3文件指针
 * @param id3v2_info 用于存储解析出的元数据的结构体指针
 * @param show_info 是否显示解析信息，true表示显示，false表示静默模式
 * @return 返回ID3v2标签的总大小(字节)，包括头部
 */
size_t parse_id3v2(FILE *file, id3v2_important_info_t *id3v2_info, bool show_info);

#endif // !MP3_PARSE_ID3V2_H
